package com.sg.dto.biz.app.req;

import com.sg.dto.base.app.common.VirtualOrgMemberDeptDto;
import com.sg.dto.base.app.common.VirtualOrgMemberDto;
import com.sg.dto.biz.app.common.EvaObjTargetCycleDto;
import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @desc ImplementAddOrDelThreeTreeLeafComReqDto
 * @使用场景
 */
@Data
public class ImplementAddOrDelThreeTreeLeafComReqDto
        extends BaseDto
        implements Serializable {

    @ApiModelProperty("被评对象目标周期列表")
    private List<EvaObjTargetCycleDto> evaObjTargetCycleList = new ArrayList<>();

    @ApiModelProperty("虚拟成员部门列表")
    private List<VirtualOrgMemberDeptDto> virtualOrgMemberDeptList = new ArrayList<>();

    @ApiModelProperty("虚拟组织成员列表")
    private List<VirtualOrgMemberDto> virtualOrgMemberList = new ArrayList<>();

    /**
     * 被评对象类型编码 EVA_PORTRAIT:评价画像 EVA_OBJECT:评价对象 FLEVEL_OBJ_TASK_DUTY_DEPT:一级部门目标任务责任部门 OKR_SUBJECT_DEPT:OKR责任主体部门 OKR_SUBJECT_PERSONAL:OKR责任主体个人
     */
    @NotNull(message = "被评对象类型编码不能为空")
    @ApiModelProperty("被评对象类型编码")
    private String evaObjTypeCode;

    /**
     * 冗余目标ID
     */
    @NotNull(message = "冗余目标ID不能为空")
    @ApiModelProperty("冗余目标ID")
    private String targetId;

}
